package com.ct.rbac.repository;

import com.ct.rbac.model.SysUserModel;
import com.ct.rbac.orm.SysUserDO;
import com.ct.repository.commons.IBaseService;
import com.ct.repository.commons.PageUtils;

public interface ISysUserRespontory extends IBaseService<SysUserDO> {


    /**
     * 查询用户列表信息
     * @param pageNo
     * @param pageSize
     * @param status
     * @param keyword
     * @return
     */
    PageUtils<SysUserModel> findPage(Integer pageNo,Integer pageSize,Integer status,Integer isDeleted,String keyword);

    /**
     * 根据账号查询用户信息
     * @param account
     * @return
     */
    SysUserModel selectBySysUserByAccount(String account);

    /**
     * 根据ID查询用户信息
     * @param id
     * @return
     */
    SysUserModel selectBySysUserById(Long id);
    /**
     * 根据userCode查询用户信息
     * @param usercode
     * @return
     */
    SysUserModel selectBySysUserByUsercode(String usercode);
    /**
     * 根据手机查询用户信息
     * @param telephone
     * @return
     */
    SysUserModel selectBySysUserByTelephone(String telephone);

    /**
     * 修改密码
     * @return
     */
    Boolean updatePassword(Long userId,String newPassword);


    /**
     * 绑定角色
     * @return
     */
    Boolean bindRolesSysUsers(Long userId, String roleIds);


    /**
     * 根据系统id查询用户列表信息并分页
     */
    PageUtils<SysUserModel> findUserListBySystemId(Integer pageNo,Integer pageSize,Long dpid,Integer status,Integer isDeleted,String keywords);
    PageUtils<SysUserModel> findUserPage(Integer pageNo, Integer pageSize, String keywords);
}
